//
//  XUISplitTableView.h
//  etionUI
//
//  Created by WangJian on 14-12-18.
//  Copyright (c) 2014年 GuangZhouXuanWu. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "XUISplitTableViewCell.h"

@class XUISplitTableView;
@protocol XUISplitTableViewDelegate <NSObject>

- (NSInteger)splitTableView:(XUISplitTableView *)splitTableView numberOfRowsAtViewIndex:(NSInteger)index;

- (XUISplitTableViewCell *)splitTableView:(XUISplitTableView *)splitTableView cellAtViewIndex:(NSInteger)index row:(NSInteger)row;

- (NSInteger)splitTableView:(XUISplitTableView *)splitTableView willClickedCellAtViewIndex:(NSInteger)index row:(NSInteger)row;

- (void)splitTableView:(XUISplitTableView *)splitTableView didClickedCellAtViewIndex:(NSInteger)index row:(NSInteger)row;

- (void)splitTableView:(XUISplitTableView *)splitTableView didRemoveViewAtIndex:(NSInteger)index;

@optional

- (NSDictionary*)registerCellClassForSplitTableView:(XUISplitTableView *)splitTableView;

@end

@interface XUISplitTableView : UIView

@property (nonatomic, assign) id<XUISplitTableViewDelegate> delegate;
@property (nonatomic, readonly) NSInteger tableViewNumber;


- (id)dequeueReusableCellForTableViewAtIndex:(NSInteger)index row:(NSInteger)row;

- (id)dequeueReusableCellWithIdentifier:(NSString*)identifier forTableViewAtIndex:(NSInteger)index row:(NSInteger)row;

- (void)selectIndex:(NSInteger)index row:(NSInteger)row;
- (void)deselectIndex:(NSInteger)index row:(NSInteger)row;

- (void)moveToPrevLevel;
- (void)addTableViewWithPrevTargetRow:(NSInteger)prevTargetRow;
- (void)replaceLastTableViewWithPrevTargetRow:(NSInteger)prevTargetRow;
- (void)deleteLastTableView;

- (XUISplitTableViewCell *)cellAtIndex:(NSInteger)index row:(NSInteger)row;

- (NSUInteger)selectedRowAtViewIndex:(NSUInteger)index;

- (NSUInteger)currentSelectedViewIndex;

@end
